热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

载波|等份_NRSRS时频域位置

篇首语:本文由编程笔记#小编为大家整理,主要介绍了NRSRS时频域位置相关的知识,希望对你有一定的参考价值。微信同步更新欢迎关注同名modem协议笔记S

篇首语:本文由编程笔记#小编为大家整理,主要介绍了NR SRS时频域位置相关的知识,希望对你有一定的参考价值。


微信同步更新欢迎关注同名modem协议笔记

Sounding reference signal是一种在LTE时期就存在的一种参考信号,在NR中,基站可以利用SRS评估上行信道参数,对于TDD 系统,利用上下行信道互易性,也可以通过下行信道参数评估上行信道;还可以使用SRS 进行上行波束的管理,波束切换等。r16 增加了基于SRS 的position 功能SRS-PosResource的配置,资源配置结构和SRS-Resource基本类似,这篇我们只关注 SRS-Resource的配置,先看下时频域资源分配情况。

SRS配置结构如下,主要在UE specific BWP-UplinkDedicated中配置,分为SRS resource(最多64个)和SRS resourceSet(最多16个);UE可以配置多个SRS resourceset,每个set中可配置的SRS resouce和UE能力相关。

SRS resource RRC层参数

接下来我们按照RRC层的参数配置按顺序来看下每部分的参数的作用。

nrofSRS-Ports:SRS天线端口数量,可以配置为1/2/4,对于CLI SRS-RSRP measurement, 只能配置为port1。

transmissionComb:SRS 发送梳配置 Comb value 取值2/4/8,comb offset 取值范围由Comb value决定取值范围(0~combValue-1)。

cyclicShift:Cyclic shift configuration,生成SRS序列时用到的参数。

和LTE类似,NR的SRS在频域上也采用Comb发送方式,对于单个UE,在频域上可以每n个子载波发送SRS,transmissionComb支持n=2/4/8的配置,n代表SRS的密度,即每几个子载波发送SRS,combOffset代表SRS的偏移,取值范围对应0~n-1,即UE要在第几个子载波上发SRS。例如n=2时 代表每2个子载波发送一次SRS,combOffset取值范围0~1,combOffset=0时,代表在第一个子载波上发送SRS,combOffset=1时,代表UE要在第二个子载波上发送SRS;n=4时 代表每4个子载波发送一次SRS,combOffset取值范围0~3,combOffset =0所以在第一个子载波上发SRS,combOffset=3时 代表在第4个子载波上发SRS;n=8时 代表每8个子载波发送一次SRS,combOffset取值范围0~7,combOffset=4时 代表在第5个子载波上发SRS,以此类推。

因而网络端可以给不同UE配置不同的combOffset,进而实现频分复用。如下是当transmissionComb 中n和combOffset配置成不同value时,一个RB中子载波发送SRS例子。

SRS循环移位

和PUCCH类似,不同UE可能会使用相同的SRS物理资源,这时就需要通过循环移位cyclicshift进行区分,该参数由RRC层transmissionComb中的cyclicshift提供。

当n=2(Ktc=2)时,n_cs_max_SRS=8, cyclicShift 取值范围对应0~7;当n=4(Ktc=4)时,n_cs_max_SRS=12, cyclicShift 取值范围对应0~11;当n=8(Ktc=8)时,n_cs_max_SRS=6, cyclicShift 取值范围对应0~5。

对于antenna port Pi=1000+i,循环移位需要根据上面的公式确定,其中n_cs_SRS由RRC 层transmissionComb中的参数cyclic shift提供,N_SRS_ap由nrofSRS-Ports提供。

SRS 时频域位置

先看时域参数:

resourceMapping:指SRS resource 在一个时隙内占用的时域OFDM symbol 位置 ,nrofSymbols代表占用的符号个数,取值范围1/2/4,startPosition代表时隙内SRS符号的开始位置,例如一个时隙对应14个符号的情况,startPosition=0,代表SRS开始的位置对应最后一个符号;startPosition=1,代表倒数第二个符号,依次类推。repetitionFactor代表重复因子,单位是符号个数。配置的SRS resource不能超过时隙的边界 。如果有配置resourceMapping-r16 ,UE 要忽略resourceMapping 。

freqDomainShift, freqDomainPosition ,freqHopping分别代表频域偏移,频域位置和跳频相关参数,这几个参数后面再说。

38.211 6.4.1.4也有对SRS时频域位置参数的描述

N_SRS_ap对应RRC层参数nrofSRS-Ports,antenna portspi=1000+i;N_SRS_symb代表连续的OFDM符号,就是上面提到的nrofSymbols;l0代表SRS时域的起始符号位置,loffset由RRC层参数startPostition提供,那l0=N_slot_symb-1-loffset,即刚刚描述的那一坨话,SRS的时域起始位置是从时隙尾部倒数loffset个符号决定的,因为配置的SRS resource不能超过时隙的边界,所以loffset>=N_SRS_symb-1;k0代表SRS是频域起始子载波位置,下面是个具体例子。

SRS序列

SRS序列是低均峰比序列,其中的循环移位上面已经说明如何确定,SRS这里 delt=log2(Ktc),如NR PUCCH(一)中低均峰比序列确定方法所述,要确定具体的低均峰比序列还需要确定u和v,其中u=(fgh(n_u_s,f'  ,  l')+n_SRS_ID) mod 30,n_SRS_ID由RRC层参数sequenceId确定。

u和v的确定都和RRC层参数groupOrSequenceHopping有关。

fgh(n_u_s,f'  ,  l')与具体的OFDM符号number和系统帧号相关。

groupOrSequenceHopping=neither时,代表group和sequence hopping都disable,即基序列group 和sequence 都不跳变;

groupOrSequenceHopping=groupHopping时,代表group hopping 开启,sequence hopping disable,即基序列group 跳变,sequence 都不跳变;

groupOrSequenceHopping=sequenceHopping时,代表group hopping disable,sequence hopping enable,即基序列group 不跳变,sequence 都跳变。fgh(n_u_s,f'  ,  l')和v的确定方式如上。

至此,SRS的序列就可以确定下来,接下来就要将序列映射到具体的时频域资源上。

SRS资源映射

资源映射就是将生成的序列通过不同的antenna port映射到k和l代表的具体的RE上,Pi代表具体的port number。 

SRS序列的长度M_SRS_sc,b=m_SRS,b *N_RB_sc /K_TC, 这里要确定m_SRS,b的值,具体要根据RRC层freqHopping中的参数b-SRS(B_SRS)和c-SRS(C_SRS)的值根据38.211 table 6.4.1.4.3-1确定,如果没有配置freqHopping,B_SRS=0。这里并没有提及c-SRS没有配置的情况,那应该是必须要配置的参数,这块后面通过例子说明。

 

再进一步看看这个SRS序列的长度的公式的含义,m_SRS,b 其实代表的是SRS 占用的带宽信息 即占用几个RB,N_RB_sc代表一个RB对应几个子载波,这两者的乘积对应的就是SRS占用的子载波个数,K_TC对应的是SRS 子载波级别的密度,上面也有提到,取值范围2、4、8; 最后算出来的就是实际SRS占用的子载波个数,对应的就是SRS序列的长度。

到这里序列及其长度已经确定,时域分布也已知,就差频域信息了。

frequency-domain starting position

对于频域起始位置的公式,分开来看,后面那个求和公式用于确定SRS在频域上占用的频段范围;而前半部分就是根据后半部分确定的频域范围,再进一步确定具体的频域位置,n_shift 由RRC层参数freqDomainShift 提供取值范围对应0~268,主要用于进行RB级别的偏移,最后确定第一个用于SRS发送的子载波索引;两者结合起来确定具体的频域起始位置。

频域的参考点由BWP起始位置和n_shift的关系确定&#xff0c;BWP起始位置<&#61;n_shift时&#xff0c;参考点就是CRB 0的子载波0;BWP起始位置>n_shift时,参考点就是BWP最小的子载波。下图是根据实际log中的配置参数与协议中描述进行的一一对应&#xff0c;看不懂没关系&#xff0c;后面看具体例子就比较清晰了。

Frequency hopping

SRS也可能会enable跳频&#xff0c;对应了一堆公式&#xff0c;看起来也是让人头大。

由于38.331 和38.211是不同的人写的&#xff0c;所以参数名字会不一样&#xff0c;看起来也是挺难受的&#xff0c;上图是参数的对应关系。

SRS Frequency hopping由RRC层参数b-hop配置&#xff0c;缺省时默认b-hop&#61;0。

如果bhop>&#61;B_SRS,跳频就是disable状态&#xff0c;频域位置index n_b为常数&#xff0c;其中n_b&#61;(4n_RRC/m_SRS,b )mod N_b 向下取整再mod。

n_RRC由RRC层freqHopping中的参数freqDomainPosition提供&#xff0c;缺省默认n_RRC&#61;0;m_SRS,b和N_b根据C_SRS的值参照38.211 中的table 6.4.1.4.3-1确定&#xff0c;这里参数的小标b可以认为就是B_SRS&#xff0c;即b&#61;B_SRS。

bhop

下面先看下SRS 不跳频的例子。

例1  假如参数配置如下

                                      srs-ResourceId 0,

                                      nrofSRS-Ports port1,

                                      transmissionComb n2 :

                                       

                                          combOffset-n2 0,

                                          cyclicShift-n2 2

                                        ,

                                      resourceMapping

                                     

                                        startPosition 0,

                                        nrofSymbols n1,

                                        repetitionFactor n1

                                      ,

                                      freqDomainPosition 0,

                                      freqDomainShift 0,

                                      freqHopping

                                     

                                        c-SRS 61,

                                        b-SRS 0,

                                        b-hop 0

                                      ,

                                      groupOrSequenceHopping neither,

                                      resourceType periodic :

                                       

                                          periodicityAndOffset-p sl160 : 153

                                        ,

                                      sequenceId 602

                                    ,

(1)确定频域SRS 总RB 个数

freqHopping

                                        c-SRS 61,

                                        b-SRS 0,

                                        b-hop 0

需要由c-srs 和b-srs查询 38.211   Table 6.4.1.4.3-1 得到;m_SRS,b就是SRS 在频域上的RB 数 &#xff0c;通过上述确定 RB 个数为272 个。

38.211  Table 6.4.1.4.3-1: SRS bandwidth configuration.

 

(2)确定 RB 中SRS 的密度 

transmissionComb n2 :

                                          combOffset-n2 0,

                                          cyclicShift-n2 ,

transmissionComb n2  代表每2个子载波  传输一个SRS &#xff1b;combOffset-n2 0, 代表 在第一个子载波上传.一个RB 中的分布如下

(3)时域的分布

resourceMapping

                                        startPosition 0,

                                        nrofSymbols n1,

                                        repetitionFactor n1

startPosition (value 0 refers to the last symbol, value 1 refers to the second last symbol, and so on)

这里startPosition 为0 代表 从第13个symbol开始  &#xff0c;nrofSymbols n1  代表只占用一个符号

resourceType periodic :

                                       

                                          periodicityAndOffset-p sl160 : 153

                                        ,

时域发送slot及offset&#xff0c;这里看到是每隔160 slot发送一次&#xff0c;在第153 slot发送

对于periodic 或semi-persistent 的SRS resource&#xff0c;RRC层会通过periodicityAndOffset-p(SRS resource)或者periodicityAndOffset-sp(SRS Pos resource)作为发送周期&#xff0c;例如配置为sl160 : 153&#xff0c;分别代表时域发送slot及offset&#xff0c;即每隔160 slot发送一次&#xff0c;具体在第153 slot发送&#xff1b;除此之外&#xff0c;SRS的发送时隙还要满足上面的公式才可发送。

(4)频域发送位置的确认

                                      freqDomainPosition 0,

                                      freqDomainShift 0,

                                      freqHopping

                                     

                                        c-SRS 61,

                                        b-SRS 0,

                                        b-hop 0,

最后频域起始位置是没有RB级别的偏移的&#xff0c;也就是说&#xff0c;SRS分布在分配的所有RB上&#xff0c;这种配置叫做宽带SRS。

例2

假如B_SRS&#61;1  C_SRS&#61;63,则m_SRS,1&#61;16,N1&#61;17,N0&#61;1,m_SRS,0&#61;272

 

上面公式的含义就是将SRS带宽分成N1个等份(0&#xff5e;16)&#xff0c;每个等份包含的RB个数是m_SRS,1&#61;16 个&#xff1b;然后n1确定的是等份的索引&#xff0c;假如算出来n1&#61;6,则频域图示如下&#xff0c;最终SRS发送带宽对应16个RB。

例3

假如B_SRS&#61;2&#xff0c;C_SRS&#61;63,则m_SRS,2&#61;8,N2&#61;2&#xff0c;m_SRS,1&#61;16,N1&#61;17,m_SRS,0&#61;272&#xff0c;N0&#61;1,

方块中的公式用于确定SRS的具体频域位置&#xff0c;对应的是b&#61;0~2的累加&#xff0c;最终确定的一个RB范围&#xff0c;首先将SRS带宽分成N1个等份(0&#xff5e;16)&#xff0c;每个等份包含的RB个数是m_SRS,1&#61;16 个&#xff1b;然后n1确定的是等份的索引&#xff1b;之后再将确定的等份RB均分为N2个等份&#xff0c;每个等份包含的RB个数是m_SRS,2&#61;8个,通过n2确定等份索引&#xff0c;假如算出来n1&#61;6,n2&#61;1则SRS 资源频域对应的位置图示如下&#xff0c;最终SRS发送带宽对应8个RB。

 

例4 

假如B_SRS&#61;3  C_SRS&#61;63,则m_SRS,3&#61;4,N3&#61;2&#xff0c;m_SRS,2&#61;8,N2&#61;2&#xff0c;m_SRS,1&#61;16,N1&#61;17,m_SRS,0&#61;272&#xff0c;N0&#61;1。

这里对应的是b&#61;0~3的累加&#xff0c;首先将SRS带宽分成N1个等份(0&#xff5e;16)&#xff0c;每个等份包含的RB个数是m_SRS,1&#61;16 个&#xff1b;然后n1确定的是等份的索引&#xff1b;之后再将确定的等份RB均分为N2个等份&#xff0c;每个等份包含的RB个数是m_SRS,2&#61;8 个,通过n2确定等份索引&#xff0c;最后将上面确定的等份;再均分为N3个等份&#xff0c;每个等份包含的RB个数是m_SRS,3&#61;4 个,通过n3确定等份索引&#xff0c;进而确定最后的频域RB范围。假如算出来n1&#61;6,n2&#61;1&#xff0c;n3&#61;0则SRS 资源频域对应的位置图示如下,最终SRS发送带宽对应4个RB。

下面再看下SRS跳频时对应的具体情况&#xff0c;SRS跳频需要结合时频域参数共同决定。

先看时域跳频内容。

38.214.6.2.1.1

repetiton factor R由SRS-Resource中的resourceMapping-> repetitionFactor提供&#xff0c;Ns对应的是SRS在时隙内占用的符号数。

R和Ns配置时满足的条件是R<&#61;Ns。

当R&#61;Ns时&#xff0c;不支持时隙内跳频&#xff1b;当R&#61;1&#xff0c;Ns&#61;2,4时&#xff0c;支持时隙内跳频&#xff0c;以1个OFDM符号为单位跳频&#xff1b;当R&#61;2,Ns&#61;4时&#xff0c;支持时隙内跳频&#xff0c;以2个OFDM符号为单位进行跳频。

aperidoic SRS resource跳频

对于aperidoic SRS resource支持时隙内跳频。当R&#61;1,Ns&#61;2/4时&#xff0c;要将SRS带宽平均分成Ns个subband&#xff0c;完成时隙内跳频&#xff1b;当R&#61;2&#xff0c;Ns&#61;4时&#xff0c;要以2个符号为单位进行跳频&#xff0c;把SRS频带范围分成2个subband&#xff0c;完成跳频。 而RB中的子载波分布情况按照comb的配置&#xff0c;不发生改变&#xff0c;根据上述时域相关跳频的描述&#xff0c;假如SRS对应的带宽是12个RB&#xff0c;时频域分布情况如下。

对于aperiodic SRS resource&#xff0c;频域跳频enable时&#xff0c;即b_hop

这里我们假设n_RRC&#61;0 ,则n_b 的公式如下

n_b的确定主要与Fb(n_SRS)相关&#xff0c;而Fb(n_SRS) 又与n_SRS相关&#xff0c;对于aperiodic SRS resource&#xff0c;n_SRS&#61;l&#39;/R 向下取整&#xff0c;l&#39;为SRS占用的符号index&#xff0c;根据R和Ns的配置可以确定n_SRS的取值如下。

根据一个例子来看下&#xff0c;还是假设n_RRC&#61;n_shift&#61;0。

假设bhop&#61;1, 

当b&#61;1时&#xff0c;满足b<&#61;bhop&#xff0c;则n_b&#61;0。

当b&#61;2时&#xff0c;nb&#61;Fb(n_SRS) mod 2&#xff0c;Nb&#61;N2&#61;2

当b&#61;3时&#xff0c;nb&#61;Fb(n_SRS) mod 2&#xff0c;Nb&#61;N3&#61;2

n_SRS&#61;0时&#xff0c;b&#61;1,则n1&#61;0 &#xff1b;b&#61;2, 则F2(n_SRS)&#61;0 n2&#61;0; b&#61;3,则F3(n_SRS)&#61;0,n3&#61;0

n_SRS&#61;1时&#xff0c; b&#61;1,则n1&#61;0 &#xff1b;b&#61;2, 则F2(n_SRS)&#61;1 n2&#61;1; b&#61;3,则F3(n_SRS)&#61;0,n3&#61;0

n_SRS&#61;2时&#xff0c; b&#61;1,则n1&#61;0 &#xff1b;b&#61;2, 则F2(n_SRS)&#61;0 n2&#61;0; b&#61;3,则F3(n_SRS)&#61;1,n3&#61;1

n_SRS&#61;3时&#xff0c; b&#61;1,则n1&#61;0 &#xff1b;b&#61;2, 则F2(n_SRS)&#61;1 n2&#61;1; b&#61;3,则F3(n_SRS)&#61;1,n3&#61;1

则最终的跳频时频域分布如下。

periodic 或semi-persistent SRS resource 跳频

对于periodic 或semi-persistent SRS resource&#xff0c;支持Ns&#61;1的时隙间跳频&#xff1b;也可以配置Ns&#61;2或4的 时隙内和时隙间跳频。Ns&#61;4&#xff0c;R&#61;2时&#xff0c;时隙内和时隙间跳频&#xff0c;一个时隙内的2对符号对应不同的子载波集合&#xff0c;但是&#xff0c;成对的2个符号对应相同的子载波集合。当Ns&#61;R时&#xff08;不支持时隙内跳频&#xff09;&#xff0c;时隙间跳频时&#xff0c;每个时隙内的R个符号对应相同的子载波集合。

与aperiodic SRS 跳频&#xff0c;不同的是n_SRS的确定方式&#xff0c;如上&#xff0c;其他根据网络端的配置&#xff0c;一步步按照公式&#xff0c;即可确定具体的跳频方式&#xff0c;这里不再推导。


推荐阅读
author-avatar
湖黯之殇_257
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有